﻿using Module = MicroCloud.Authorization.Entities.Module;

namespace MicroCloud.Authorization.Dtos
{
    #region "输出DTO:模块信息"
    /// <summary>
    /// 输出DTO:模块信息
    /// </summary>
    [MapFrom(typeof(Module))]
    public class ModuleOutputDto : IOutputDto
    {
        #region "属性"
        #region "获取或设置 模块编号"
        /// <summary>
        /// 获取或设置 模块编号
        /// </summary>
        public long Id { get; set; }
        #endregion

        #region "获取或设置 模块编码"
        /// <summary>
        /// 获取或设置 模块编码
        /// </summary>
        public string Code { get; set; }
        #endregion
        #region "获取或设置 模块名称"
        /// <summary>
        /// 获取或设置 模块名称
        /// </summary>
        public string Name { get; set; }
        #endregion

        #region "获取或设置 模块完整编码"
        /// <summary>
        /// 获取或设置 模块完整编码
        /// </summary>
        [DisplayName("模块完整编码")]
        public string FullCode { get; set; }
        #endregion
        #region "获取或设置 模块完整名称"
        /// <summary>
        /// 获取或设置 模块完整名称
        /// </summary>
        [DisplayName("模块完整名称")]
        public string FullName { get; set; }
        #endregion

        #region "获取或设置 备注"
        /// <summary>
        /// 获取或设置 备注
        /// </summary>
        public string Remark { get; set; }
        #endregion

        #region "获取或设置 顺序编号"
        /// <summary>
        /// 获取或设置 顺序编号
        /// </summary>
        public decimal OrderNo { get; set; }
        #endregion
        #region "获取或设置 节点树形路径"
        /// <summary>
        /// 获取或设置 节点树形路径
        /// <para>树链Id根据一定格式构建的字符串，形如："$1$,$3$,$4$,$7$"，编辑时更新。</para>
        /// </summary>
        [DisplayName("节点树形路径")]
        public string TreePathString { get; set; }
        #endregion
        #region "获取或设置 父模块编号"
        /// <summary>
        /// 获取或设置 父模块编号
        /// </summary>
        public long? ParentId { get; set; }
        #endregion

        #region "获取或设置 创建时间 ICreatedTime、ICreationAudited  可装载接口，在数据创建时可自动设置当前时间"
        /// <summary>
        /// 获取或设置 创建时间
        /// </summary>
        public DateTime CreatedTime { get; set; }
        #endregion

        #endregion

    }
    #endregion

}
